Sub 분할_거래월별_시트_복사_열너비_유지()
    Dim sht As Worksheet, dataSht As Worksheet
    Dim lastRow As Long, i As Long, monthCol As Integer
    Dim monthName As String, found As Boolean
    Dim col As Integer

    ' 거래내역 시트 설정
    Set dataSht = ThisWorkbook.Worksheets("거래내역")
    
    ' 거래월이 위치한 열 찾기 (여기서는 'B' 열, 인덱스 2)
    monthCol = 2 ' 거래월이 B열에 위치

    ' 마지막 행 찾기
    lastRow = dataSht.Cells(dataSht.Rows.Count, monthCol).End(xlUp).Row

    ' 데이터 순회하면서 처리
    For i = 2 To lastRow
        ' 거래월 데이터 읽기
        monthName = dataSht.Cells(i, monthCol).Value
        
        ' 해당 월의 시트가 이미 있는지 확인
        found = False
        For Each sht In ThisWorkbook.Sheets
            If sht.Name = monthName Then
                found = True
                Exit For
            End If
        Next sht
        
        ' 없으면 새 시트 생성
        If Not found Then
            Set sht = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
            sht.Name = monthName
            ' 헤더 복사
            dataSht.Rows(1).Copy Destination:=sht.Rows(1)
            ' 열 너비 복사
            For col = 1 To dataSht.Columns.Count
                sht.Columns(col).ColumnWidth = dataSht.Columns(col).ColumnWidth
            Next col
        End If
        
        ' 데이터 행 복사
        dataSht.Rows(i).Copy Destination:=ThisWorkbook.Worksheets(monthName).Cells(ThisWorkbook.Worksheets(monthName).Rows.Count, 1).End(xlUp).Offset(1, 0)
    Next i

    ' 원본 데이터는 그대로 유지
End Sub